class Solution {
public:
    int maxConsecutiveAnswers(string s, int k)
    {
        //如果f和t一样多就随便改 哪个多改哪个
        //或者我可以循环两次？一次针对T一次针对F
        int right = 0;
        int left = 0;
        int ans = 0;
        int n = s.size();
        int t = k;
        while (right < n)//先针对一次F
        {
            if (s[right] == 'F' && t) t--;
            else if (s[right] == 'F' && !t)
            {
                ans = ans > right - left ? ans : right - left;
                while (left <= right && !t)
                {
                    if (s[left] == 'F')
                        t++;
                    left++;
                }
                right--;
            }
            right++;
        }
        ans = ans > right - left ? ans : right - left;
        right = 0;
        left = 0;
        t = k;
        while (right < n)//先针对一次F
        {
            if (s[right] == 'T' && t) t--;

            else if (s[right] == 'T' && !t)
            {
                ans = ans > right - left ? ans : right - left;
                while (left <= right && !t)
                {
                    if (s[left] == 'T') t++;
                    left++;
                }
                right--;
            }
            right++;
        }
        ans = ans > right - left ? ans : right - left;
        return ans;
    }
};